#!/bin/bash

# 学生荣誉信息管理系统 - 数据库初始化脚本
# 用于初始化Flask-Migrate数据库迁移环境

echo "=========================================="
echo "学生荣誉信息管理系统 - 数据库初始化"
echo "=========================================="

# 设置环境变量
export FLASK_APP=wsgi.py
export FLASK_ENV=development

# 检查Python环境

echo "检查Python环境..."
python --version

# 检查Flask是否安装
echo "检查Flask环境..."
python -c "import flask; print('Flask版本:', flask.__version__)"
python -c "import flask_migrate; print('Flask-Migrate已安装')"

# 检查当前目录
echo "当前工作目录: $(pwd)"

# 检查wsgi.py文件是否存在
if [ ! -f "wsgi.py" ]; then
    echo "错误: wsgi.py文件不存在，请确保在项目根目录下运行此脚本"
    exit 1
fi

# 检查migrations目录是否已存在
if [ -d "migrations" ]; then
    echo "警告: migrations目录已存在"
    read -p "是否要删除现有的migrations目录并重新初始化? (y/N): " -n 1 -r
    echo
    if [[ $REPLY =~ ^[Yy]$ ]]; then
        echo "删除现有migrations目录..."
        rm -rf migrations
    else
        echo "取消操作"
        exit 0
    fi
fi

# 执行数据库初始化
echo "开始初始化数据库迁移环境..."
flask db init

if [ $? -eq 0 ]; then
    echo "=========================================="
    echo "数据库初始化成功!"
    echo "migrations目录已创建"
    echo "=========================================="
    echo "接下来可以运行 migrate_db.sh 进行数据库迁移"
else
    echo "=========================================="
    echo "数据库初始化失败!"
    echo "请检查以下可能的问题:"
    echo "1. 数据库连接配置是否正确"
    echo "2. 数据库服务器是否可访问"
    echo "3. 数据库用户权限是否足够"
    echo "=========================================="
    exit 1
fi 